package pe.com.rimac.portal.service.paperless.model;

/**
 * Clase que representa los tipos de formato que puede retornar el servicio Paperless.
 * 
 * @author Synopsis S.A
 * 
 */
public class TipoRetorno
{
	public static final TipoRetorno URL_XML = new TipoRetorno(1);
	public static final TipoRetorno URL_PDF = new TipoRetorno(2);
	private int value;

	private TipoRetorno(int value)
	{
		this.value = value;
	}

	public int getValue()
	{
		return value;
	}

	public TipoRetorno fromValue(int value)
	{
		if (URL_XML.getValue() == value)
		{
			return URL_XML;
		}
		else if (URL_PDF.getValue() == value)
		{
			return URL_PDF;
		}
		throw new RuntimeException("No existe Tipo de Retorno para el valor '" + value + "'");
	}

	@Override
	public boolean equals(Object obj)
	{
		if (obj instanceof TipoRetorno)
		{
			return this.value == (((TipoRetorno) obj).getValue());
		}
		else
		{
			throw new RuntimeException("El objeto '" + obj + "' no es un objeto del tipo TipoRetorno.");
		}
	}
}